/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"94F2F920-816F-406E-9E4C-DFE3578A0ADB"}
 */
function confirmar(event) {
	if (!cheque_nro)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Por favor, indique el número del cheque','OK')
		return
	}
	if (!valor_id)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Por favor, indique el tipo del cheque','OK')
		return
	}
	if (!fecha_emision)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Por favor, indique la fecha de emisión del cheque','OK')
		return
	}
	if (!fecha_pago)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Por favor, indique la fecha de pago del cheque','OK')
		return
	}
	if (!importe)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Por favor, indique el importe del cheque','OK')
		return
	}
	if (!moneda_id)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Por favor, indique la moneda del cheque','OK')
		return
	}
	if (!banco_id)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Por favor, indique el banco del cheque','OK')
		return
	}
	if (!estado)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Por favor, indique el estado del cheque','OK')
		return
	}
	else
	{
		if (estado == 1 && !cuentas_cyb_id)
		{
			globals.DIALOGS.showWarningDialog('Aviso','Por favor, indique la caja del cheque','OK')
			return
		}
	}
	
	if (estado == 1)
	{
		cheques_to_cuentas_cyb.cuentas_cyb_to_saldos_caja.saldo_valores += importe
	}
	
	databaseManager.startTransaction()
	if (databaseManager.saveData())
	{
		databaseManager.commitTransaction()
		iniciar()
		globals.DIALOGS.showInfoDialog('Aviso','Cheque grabado con éxito','OK')
		return		
	}
	else
	{
		databaseManager.rollbackTransaction()
		globals.DIALOGS.showWarningDialog('Aviso','Ocurrio un error y no se grabó el cheque','OK')
		return		
	}
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"0C4085DA-06B8-4841-BFEC-9C350BFBFD72"}
 */
function cancelar(event) {
	iniciar()
}

/**
 * @properties={typeid:24,uuid:"8B365CE9-5EC7-4236-BE14-CC8144376280"}
 */
function iniciar()
{
	databaseManager.setAutoSave(false)
	
	controller.newRecord()
	estado 		= 1
	moneda_id 	= globals.zparam_moneda_default
	
	elements.lbl_caja.visible = true
	elements.fld_caja.visible = true
	elements.lbl_fecha_pago.visible = false
	elements.fld_fecha_pago.visible = false
}
/**
 * Handle hide window.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"3B757ED9-CB4E-44F7-83CE-032E220B5AD6"}
 */
function onHide(event) {
	databaseManager.revertEditedRecords()
	databaseManager.setAutoSave(true)
	return true
}

/**
 * Handle changed data.
 *
 * @param {Number} oldValue old value
 * @param {Number} newValue new value
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"746767C0-7F31-449F-A46F-5F186B486CBA"}
 */
function onDataChangeEstado(oldValue, newValue, event) {
	if (newValue == 1)
	{
		elements.lbl_caja.visible = true
		elements.fld_caja.visible = true
	}
	else
	{
		elements.lbl_caja.visible = false
		elements.fld_caja.visible = false
	}
	return true
}

/**
 * Handle changed data.
 *
 * @param {Number} oldValue old value
 * @param {Number} newValue new value
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"5B9B0392-44C8-4E11-B6DC-A5913A784652"}
 */
function onDataChangeValor(oldValue, newValue, event) {
	if (newValue == 2 || newValue == 4)
	{
		elements.lbl_fecha_pago.visible = false
		elements.fld_fecha_pago.visible = false
		if (fecha_emision)
			fecha_pago = fecha_emision
	}
	else
	{
		elements.lbl_fecha_pago.visible = true
		elements.fld_fecha_pago.visible = true
	}
	return true
}

/**
 * Handle changed data.
 *
 * @param {Date} oldValue old value
 * @param {Date} newValue new value
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"7B31B89B-C39E-4870-83B8-7C2078955391"}
 */
function onDataChangeFechaEmision(oldValue, newValue, event) {
	if (valor_id == 2 || valor_id == 4)
	{
		fecha_pago = newValue
	}
	return true
}
